home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / linux / gpio_mouse.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.5 KB  |  62 lines

  1. /*
  2.  * Driver for simulating a mouse on GPIO lines.
  3.  *
  4.  * Copyright (C) 2007 Atmel Corporation
  5.  *
  6.  * This program is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License version 2 as
  8.  * published by the Free Software Foundation.
  9.  */
  10.  
  11. #ifndef _GPIO_MOUSE_H
  12. #define _GPIO_MOUSE_H
  13.  
  14. #define GPIO_MOUSE_POLARITY_ACT_HIGH    0x00
  15. #define GPIO_MOUSE_POLARITY_ACT_LOW    0x01
  16.  
  17. #define GPIO_MOUSE_PIN_UP    0
  18. #define GPIO_MOUSE_PIN_DOWN    1
  19. #define GPIO_MOUSE_PIN_LEFT    2
  20. #define GPIO_MOUSE_PIN_RIGHT    3
  21. #define GPIO_MOUSE_PIN_BLEFT    4
  22. #define GPIO_MOUSE_PIN_BMIDDLE    5
  23. #define GPIO_MOUSE_PIN_BRIGHT    6
  24. #define GPIO_MOUSE_PIN_MAX    7
  25.  
  26. /**
  27.  * struct gpio_mouse_platform_data
  28.  * @scan_ms: integer in ms specifying the scan periode.
  29.  * @polarity: Pin polarity, active high or low.
  30.  * @up: GPIO line for up value.
  31.  * @down: GPIO line for down value.
  32.  * @left: GPIO line for left value.
  33.  * @right: GPIO line for right value.
  34.  * @bleft: GPIO line for left button.
  35.  * @bmiddle: GPIO line for middle button.
  36.  * @bright: GPIO line for right button.
  37.  *
  38.  * This struct must be added to the platform_device in the board code.
  39.  * It is used by the gpio_mouse driver to setup GPIO lines and to
  40.  * calculate mouse movement.
  41.  */
  42. struct gpio_mouse_platform_data {
  43.     int scan_ms;
  44.     int polarity;
  45.  
  46.     union {
  47.         struct {
  48.             int up;
  49.             int down;
  50.             int left;
  51.             int right;
  52.  
  53.             int bleft;
  54.             int bmiddle;
  55.             int bright;
  56.         };
  57.         int pins[GPIO_MOUSE_PIN_MAX];
  58.     };
  59. };
  60.  
  61. #endif /* _GPIO_MOUSE_H */
  62.